from pydub import AudioSegment
import argparse

# 创建命令行参数解析器
parser = argparse.ArgumentParser(description='调整音频文件的采样率。')
parser.add_argument('input_file', type=str, help='输入音频文件的路径')
parser.add_argument('sample_rate', type=int, help='目标采样率')
parser.add_argument('-o', '--output_file', type=str, help='输出音频文件的路径', default=None)

args = parser.parse_args()

# 加载WAV文件
sound = AudioSegment.from_wav(args.input_file)

# 调整采样率
sound = sound.set_frame_rate(args.sample_rate)

# 若未指定输出文件，使用输入文件名加上采样率命名
if args.output_file is None:
    import os
    file_name, file_ext = os.path.splitext(args.input_file)
    args.output_file = f"{file_name}_{args.sample_rate}{file_ext}"

# 导出调整采样率后的文件
sound.export(args.output_file, format="wav")
print('set rate done')
